package com.cinyi.cyds.base.service;

import java.util.List;

import com.cinyi.cyds.base.bean.Resource;
import com.cinyi.cyds.base.bean.SessionInfo;
import com.cinyi.cyds.base.bean.Tree;
import com.cinyi.cyds.base.model.Tresource;


/**
 * 资源Service
 * 
 * @author core-system-dev
 * 
 */
public interface ResourceServiceI {

	/**
	 * 获得资源树(资源类型为菜单类型)
	 * 
	 * 通过用户ID判断，他能看到的资源
	 * 
	 * @param sessionInfo
	 * @return
	 * @throws Exception 
	 */
	public List<Tree> tree(SessionInfo sessionInfo) throws Exception;

	/**
	 * 获得资源树(包括所有资源类型)
	 * 
	 * 通过用户ID判断，他能看到的资源
	 * 
	 * @param sessionInfo
	 * @return
	 * @throws Exception 
	 */
	public List<Tree> allTree(SessionInfo sessionInfo) throws Exception;

	/**
	 * 获得资源列表
	 * 
	 * @param sessionInfo
	 * 
	 * @return
	 * @throws Exception 
	 */
	public List<Resource> treeGrid(SessionInfo sessionInfo) throws Exception;

	/**
	 * 添加资源
	 * 
	 * @param resource
	 * @param sessionInfo
	 * @throws Exception 
	 */
	public void add(Resource resource, SessionInfo sessionInfo) throws Exception;

	/**
	 * 删除资源
	 * 
	 * @param id
	 * @throws Exception 
	 */
	public void delete(String id) throws Exception;

	/**
	 * 修改资源
	 * 
	 * @param resource
	 * @throws Exception 
	 */
	public void edit(Resource resource) throws Exception;

	/**
	 * 获得一个资源
	 * 
	 * @param id
	 * @return
	 * @throws Exception 
	 */
	public Resource get(String id) throws Exception;
	
	/**
	 * 获取用户资源列表
	 * @param id
	 * @return
	 * @throws Exception
	 */
	public List<Tresource> getResourceByUser(String id) throws Exception;

}
